home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / prog_c / dbpp20.zip / DBPPINDX.HPP < prev    next >
Text File  |  1994-05-09  |  1KB  |  49 lines

  1. /*
  2.    Library: DataBase++ Ver. 2.00.
  3.    File:    DBPPINDX.HPP
  4.    Purpose: Declarations for class DBIndexTag. Code in dbppindx.cpp
  5.    Notice:  Copyright (C), 1992 - 1994, Jeff Stapleton. All rights reserved.
  6. */
  7.  
  8. #ifndef __DBPPINDX_HPP
  9. #define __DBPPINDX_HPP
  10.  
  11. #include <dbppobjt.hpp>
  12. #include <dbpparay.hpp>    // DBArray class.
  13.  
  14. /* DBIndex file struct.
  15. */
  16. struct DBIndex : public DBObject 
  17. {
  18.    char  *tagName;
  19.    char  *expression;
  20.    int   unique;
  21.    int   descending;
  22. };
  23.  
  24. /* DBIndexTag class.
  25. */
  26. class DBIndexTag : public DBObject 
  27. {
  28.    public:
  29.  
  30.       /* Construct/destruct.
  31.       */
  32.       DBIndexTag() : indexArray( 10, 2 ) {}
  33.       virtual ~DBIndexTag() {}
  34.  
  35.       /* Instance methods.
  36.       */
  37.       void        addTag( char *tagName, char *expression,                 // Add a new index tag. 
  38.                           int unique = 0, int descending = 0 );  
  39.       int         numTags() { return indexArray.itemsInArray(); }          // Return number fields in this.
  40.       DBIndex *  operator [] ( int idx ) { return (DBIndex *) indexArray[ idx ]; }    // Access to an individual DBIndex struct.
  41.       DBArray &  idxArray() { return indexArray; }
  42.       
  43.    private:
  44.       
  45.       DBArray indexArray;
  46. };
  47.  
  48. #endif   // __DBPPINDX_HPP
  49.